﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CasaisEmEdificacao.Gerenciador.conteudo
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                Util.AlertaCliente util = new Util.AlertaCliente();

                if (Request["Msn"] != null) {

                    lblMensagem.Text = util.MensagemCliente(Convert.ToInt32(Request["Msn"].ToString()));
                    lblMensagem.Visible = true;
                }

                CamadaDados.conteudo metConteudo = new CamadaDados.conteudo();

                grdConteudo.DataSource = metConteudo.CarregarConteudo();
                grdConteudo.DataBind();

            }
            else {
                lblMensagem.Visible = false;
            }
            
            

        }

        protected void grdConteudo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string acao = e.CommandName.ToString();
            string strCodConteudo = e.CommandArgument.ToString();

            switch (acao)
            {
                case "Editar":
                    Response.Redirect("~/Gerenciador/conteudo/form_conteudo.aspx?editar=ok&codConteudo=" + strCodConteudo);
                    break;

                case "Excluir":
                    ExcluirConteudo(Convert.ToInt32(strCodConteudo));
                    break;

                case "Status":
                    MudarStatusConteudo(Convert.ToInt32(strCodConteudo));
                    break;
            }
        }

        private void ExcluirConteudo(int intCodConteudo) {

            CamadaDados.conteudo metConteudo = new CamadaDados.conteudo();
            Util.AlertaCliente util = new Util.AlertaCliente();
            
            try
            {
                metConteudo.ExcluirConteudo(intCodConteudo);
                lblMensagem.Text = util.MensagemCliente(3);
                lblMensagem.Visible = true;
                grdConteudo.DataSource = metConteudo.CarregarConteudo();
                grdConteudo.DataBind();

            }
            catch (Exception)
            {
                lblMensagem.Text = util.MensagemCliente(4);
                lblMensagem.Visible = true;
                throw;
            }
            

        }

        private void MudarStatusConteudo(int intCodConteudo) {
            CamadaDados.conteudo metConteudo = new CamadaDados.conteudo();
            Util.AlertaCliente util = new Util.AlertaCliente();

            try
            {
                metConteudo.MudarStatus(intCodConteudo);
                lblMensagem.Text = util.MensagemCliente(5);
                lblMensagem.Visible = true;
                grdConteudo.DataSource = metConteudo.CarregarConteudo();
                grdConteudo.DataBind();

            }
            catch (Exception)
            {
                lblMensagem.Text = util.MensagemCliente(4);
                lblMensagem.Visible = true;
                throw;
            }
        }

    }
}